Einheit 12 — Referenzkarte
Was du nach dieser Einheit hast: Alle Werkzeuge, alle Syntaxregeln und alle Fallstricke aus diesem Kurs auf einer Seite — zum Nachschlagen im Alltag.
Die 27 Werkzeuge
Orientieren
| Werkzeug | Zweck |
|---|---|
project_list | Projekte auflisten |
workflow_list | Workflows auflisten (Filter: project_id, include_disabled) |
workflow_show | Agents, Optionen, Verbindungen eines Workflows |
workflow_export | Portables JSON |
Nachschlagen
| Werkzeug | Zweck |
|---|---|
towelscript_catalog | 75 Node-Typen (input 15, processing 50, output 10) |
agent_docs | Optionen und Dokumentation eines Agents |
credential_list | Namen hinterlegter Zugangsdaten |
api_spec_list / api_spec_show | Gespeicherte OpenAPI-Spezifikationen |
api_spec_post_agent_config | Post-Agent-Konfiguration aus einem Endpunkt bauen |
Prüfen
| Werkzeug | Zweck |
|---|---|
towelscript_check | Syntax + stats |
towelscript_compile | Agents mit allen Optionen, GUIDs, links |
towelscript_graph | Nodes und Kanten |
towelscript_symbols | Module, Flows, Nodes mit Zeilennummern |
towelscript_format | derzeit ohne Wirkung |
Bauen
| Werkzeug | Zweck |
|---|---|
workflow_deploy | Neuen Workflow anlegen |
workflow_update | Bestehenden Workflow abgleichen |
agent_update | Einen Agent ändern |
workflow_duplicate | Kopie anlegen |
workflow_delete | Löschen — unwiderruflich |
Ausführen
| Werkzeug | Zweck |
|---|---|
agent_test_run | Dry-Run für einen Agent |
workflow_run | Kompletten Workflow echt ausführen |
message_reemit | Bestehende Nachricht erneut senden |
Debuggen
| Werkzeug | Zweck |
|---|---|
workflow_logs | Logs des letzten Laufs über alle Agents |
agent_logs | Logs eines Agents (min_level: 3 für Details) |
workflow_messages | Payloads des letzten Laufs |
agent_messages | Ausgaben eines Agents |
TowelScript auf einen Blick
module academy // Pflicht, Bezeichner
flow mein_workflow { // Bezeichner, KEIN String
node eingang: form { // node <name>: <typ> { … }
secret: "s" // String
timeout: 120 // Zahl
aktiv: true // Boolean
// nur // als Kommentar
felder: '[{"a":"b"}]' // einfache Quotes fuer JSON
text: """mehrzeilig
geht so""" // '''…''' ergibt LEEREN String
payload: { // Doppelpunkt! Objekt
name: "{{ name }}",
"x-header": "…" // Bindestrich-Schluessel quoten
}
rules: [ // Array von Objekten
{ type: "regex", value: "@", path: "email" }
]
token: @secret(Mein_Token) // Zugangsdaten
}
node weiter: ai { model: "gus:tav" }
eingang -> weiter // -> oder =>
}
Die Fallstricke
| Fallstrick | Symptom | Richtig |
|---|---|---|
payload { … } ohne Doppelpunkt | edges: [], Optionen flach, check sagt valid | payload: { … } |
payload = { … } | Option verschwindet spurlos | payload: { … } |
Zwei { … }-Blöcke in einem Node | Syntaxfehler am zweiten | Doppelpunkt-Form nutzen |
'''…''' | Leerer String | """…""" oder Backticks |
| Doppelte Quotes um JSON | \\\" im Agent | Einfache Quotes |
| Node in der Mitte eingefügt | Nachfolger bekommen neue IDs | Neue Nodes ans Ende, Reihenfolge in der Kette |
workflow_update ohne name | Workflow heißt „Workflow" | name und description mitgeben |
agent_update ohne merge_options | Alle anderen Optionen weg | merge_options: true |
http ohne post_url | Wird zu WebsiteAgent | http.post schreiben |
agent_test_run mit towelscript_type: "http.post" | Unknown TowelScript node type | agent_type: "Agents::PostAgent" |
Post Agent, payload als String | Body doppelt kodiert | payload als Objekt |
Post Agent ohne no_merge | Fremdfelder im Body | no_merge: true |
ai mit output_format: "json" | Felder nicht unter generation | Felder liegen oben, Eingang unter last_message |
| Testpayload erfunden | Dry-Run grün, Produktion rot | Payload aus agent_messages kopieren |
Was der Dry-Run wirklich tut
| Agent | agent_test_run |
|---|---|
| Post Agent, POST/PUT | sendet nicht, protokolliert den Request |
| Post Agent, GET | sendet |
| Shell Command Agent | führt nicht aus |
| CSV Agent, Doc Converter | schreiben die Datei |
| Generative AI Agent | ruft das Modell wirklich auf |
Die vier Abläufe
Neu bauen
catalog / agent_docs → schreiben → check → graph → compile → deploy → run → messages
Ändern
export → schreiben (neue Nodes ans Ende) → check/graph/compile
→ GUIDs vergleichen → update (mit name + description) → show → reemit
Debuggen
workflow_messages (wo bricht es ab?) → agent_logs (warum?)
→ agent_update / workflow_update → message_reemit → agent_messages
Einzelnen Agent klären
workflow_show (ID + Payload-Form) → agent_messages (echte Payload)
→ agent_test_run → agent_update → wieder testen
Vorlage für deine CLAUDE.md
# 42°flow — Arbeitsregeln
## Vor jedem Deploy
- towelscript_check, _compile UND _graph aufrufen
- graph: edges muss nodes − 1 ergeben (bei linearer Kette)
- compile: verschachtelte Optionen prüfen, links darf nicht leer sein
## TowelScript
- Verschachtelte Optionen immer `option: { … }` mit Doppelpunkt
- Einfache Quotes für eingebettetes JSON, """…""" für Mehrzeiler
- Zugangsdaten nur über @secret(Name), nie im Klartext
- Neue Nodes ans Ende des Flow-Blocks, Reihenfolge nur in der Verbindungskette
## Deploy und Update
- workflow_deploy und workflow_update immer mit name, description, project_id
- agent_update immer mit merge_options: true
- Vor workflow_delete immer workflow_export
## Post Agent
- http.post statt http
- no_merge: true, wenn nur die payload-Felder gesendet werden sollen
- payload als Objekt, nie als JSON-String
## Testen
- Testpayloads aus agent_messages des Vorgängers übernehmen, nicht erfinden
- Nach jedem Deploy einmal workflow_show und sources/receivers prüfen
Kurs abgeschlossen
Du kannst jetzt:
- Einschätzen, wann Designer und wann Text das richtige Werkzeug ist
- Claude Code mit 42°flow verbinden und die Verbindung prüfen
- Workflows vollständig in TowelScript schreiben
- Die Prüfkette einsetzen und Fehler erkennen, die keine Fehlermeldung erzeugen
- Einzelne Agents testen, bevor sie produktiv laufen
- Deployen, ausführen, debuggen und Nachrichten erneut durchschicken
- Bestehende Workflows ändern, ohne Agent-Identitäten zu verlieren
- Die Sicherheitsgrenzen der Schnittstelle benennen
Der Grundsatz bleibt: Die Werkzeuge nehmen dir die Mechanik ab, nicht die Verantwortung. Ein Workflow, der über MCP entstanden ist, muss dieselben Kriterien erfüllen wie jeder andere — wartbar, sicher, testbar, austauschbar, nachvollziehbar (Kurs 5, Einheit 1). Das Werkzeug ändert sich, der Maßstab nicht.